function reporte(reporte, modulo, headers, datos) {
	jQuery.ajax(
		{
   			url: "reporte.do",
   			cache: false,
   			data: {
   				accion: 'REPORTAR',
   				modulo: modulo,
   				reporte: reporte,
       			headers:  headers,
       			datos: datos 
       		},
       		type: 'POST'
   		}
    ).done(
    	function(data, status, jqxhr){
    		var reporte = data.mensaje;
    		window.location = "reporte.do?accion=REPORTAR&reporte=" + reporte;
    	}
    );
}

function recortar(texto, comienzo, fin) {
	if(texto.length <= fin) {
		return texto;
	}
	return texto.slice(comienzo, fin).concat(" ...");
}

function mensajeInformacion(mensaje, redirige, callback) {
	mostrarMensaje(mensaje, "ui-state-highlight", redirige, callback);
}

function mensajeError(mensaje, redirige, callback) {
	mostrarMensaje(mensaje, "ui-state-error", redirige, callback);
}

var contador;
var timeout;
function mostrarMensaje(mensaje, estilo, redirige, callback) {
	var contenedor = jQuery('.mensaje');
	contenedor.addClass(estilo);
	
	contenedor.find('span').empty().html(mensaje);		//Agregamos el mensaje a mostrar
	activarContador();									//Activamos el contador que notifica del cierre del aviso
	contenedor.fadeIn();								//Mostramos el mensaje
	timeout = window.setTimeout(function(){				//Seteamos el timeout para el cierre del aviso
		contenedor.fadeOut('slow', function(){
			if(callback) {
				callback();
			}
			contador = clearInterval(contador);
			window.clearTimeout(timeout);
		});
	}, 10000);	
}

function activarContador() {
	jQuery('.contador p').html('10');
	contador = setInterval(function(){
		jQuery('.contador p').html(parseInt(jQuery('.contador p').html()) - 1);		
	}, 1000);
}

function mensajeErrorEnCampo(campo, mensaje) {
	jQuery('#' + campo).parent().append('<span class="mensaje-error-campo">' + mensaje + '</span>');
	jQuery('#' + campo).addClass('campo-error');
}